#include<stdio.h>
#include<stdlib.h>
// dynamicAllocateMemory
// 在stdlib.h里面
// C++里面是new,delete

int *extend(int *arr, int size, int enlarge);

int main()
{
    // 数组的使用
    int size = 10;
    int *p = (int *)malloc(size * sizeof(int));
    for (int i = 0; i < size; i++)
    {
        p[i] = i;
        printf("%d ", p[i]);
    }

    // 数组扩容
    p = extend(p, size, 3);
    printf("\n");
    p[10]=109;
    for (int i = 0; i < size+3; i++)
    {
        printf("%d ", p[i]);
    }
    // 释放内存
    free(p);
}

int *extend(int *arr, int size, int enlarge)
{
    int *big = (int *)malloc((size+enlarge) * sizeof(int));
    // 复制原有的
    for (int i = 0; i < size; i++)
    {
        big[i] = arr[i];
    }
    // 初始化
    for (int i=size; i<size+enlarge; i++)
    {
        big[i] = 0;
    }
    return big;
}